﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum СтатусыПакетовЭД
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"94d9c818-7e27-43dc-bb76-ef216d1bd31c\", \"Представление\":\"Доставлен\"}")]
		Доставлен = 0,
		[EnumMember(Value = "{\"Ссылка\":\"5e18a999-b125-4c78-9626-df5ca49da937\", \"Представление\":\"КРаспаковке\"}")]
		КРаспаковке = 1,//К распаковке
		[EnumMember(Value = "{\"Ссылка\":\"db5a2c5f-af11-401b-867f-46afb79c616f\", \"Представление\":\"Отменен\"}")]
		Отменен = 2,//Отменен (без обработки)
		[EnumMember(Value = "{\"Ссылка\":\"f6fe8b06-3332-4348-ad26-45e881109ee6\", \"Представление\":\"Отправлен\"}")]
		Отправлен = 3,
		[EnumMember(Value = "{\"Ссылка\":\"fbb0dd2b-a13c-4130-ac83-dcae1bfa83bb\", \"Представление\":\"ПодготовленКОтправке\"}")]
		ПодготовленКОтправке = 4,//Подготовлен к отправке
		[EnumMember(Value = "{\"Ссылка\":\"5adbefc5-7dca-441b-9a29-c9c37b71d441\", \"Представление\":\"Распакован\"}")]
		Распакован = 5,
		[EnumMember(Value = "{\"Ссылка\":\"c4e25f22-c864-48e2-9935-aca24b4d9c40\", \"Представление\":\"РаспакованДокументыНеОбработаны\"}")]
		РаспакованДокументыНеОбработаны = 6,//Распакован, документы не обработаны
	}
	public static partial class СтатусыПакетовЭД_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Доставлен = new Guid("21ef76bb-1b6d-1cd3-43dc-7e2794d9c818");
		public static readonly Guid КРаспаковке = new Guid("5cdf2696-9da4-37a9-4c78-b1255e18a999");//К распаковке
		public static readonly Guid Отменен = new Guid("af467f86-9cb7-6f61-401b-af11db5a2c5f");//Отменен (без обработки)
		public static readonly Guid Отправлен = new Guid("e84526ad-1081-e69e-4348-3332f6fe8b06");
		public static readonly Guid ПодготовленКОтправке = new Guid("aedc83ac-fa1b-bb83-4130-a13cfbb0dd2b");//Подготовлен к отправке
		public static readonly Guid Распакован = new Guid("c3c9299a-717b-41d4-441b-7dca5adbefc5");
		public static readonly Guid РаспакованДокументыНеОбработаны = new Guid("a2ac3599-4d4b-409c-48e2-c864c4e25f22");//Распакован, документы не обработаны
		public static СтатусыПакетовЭД Получить(this СтатусыПакетовЭД Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static СтатусыПакетовЭД Получить(this СтатусыПакетовЭД Значение, Guid Ссылка)
		{
			if(Ссылка == Доставлен)
			{
				return СтатусыПакетовЭД.Доставлен;
			}
			else if(Ссылка == КРаспаковке)
			{
				return СтатусыПакетовЭД.КРаспаковке;
			}
			else if(Ссылка == Отменен)
			{
				return СтатусыПакетовЭД.Отменен;
			}
			else if(Ссылка == Отправлен)
			{
				return СтатусыПакетовЭД.Отправлен;
			}
			else if(Ссылка == ПодготовленКОтправке)
			{
				return СтатусыПакетовЭД.ПодготовленКОтправке;
			}
			else if(Ссылка == Распакован)
			{
				return СтатусыПакетовЭД.Распакован;
			}
			else if(Ссылка == РаспакованДокументыНеОбработаны)
			{
				return СтатусыПакетовЭД.РаспакованДокументыНеОбработаны;
			}
			return СтатусыПакетовЭД.ПустаяСсылка;
		}
		public static byte[] Ключ(this СтатусыПакетовЭД Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this СтатусыПакетовЭД Значение)
		{
			switch (Значение)
			{
				case СтатусыПакетовЭД.Доставлен: return Доставлен;
				case СтатусыПакетовЭД.КРаспаковке: return КРаспаковке;
				case СтатусыПакетовЭД.Отменен: return Отменен;
				case СтатусыПакетовЭД.Отправлен: return Отправлен;
				case СтатусыПакетовЭД.ПодготовленКОтправке: return ПодготовленКОтправке;
				case СтатусыПакетовЭД.Распакован: return Распакован;
				case СтатусыПакетовЭД.РаспакованДокументыНеОбработаны: return РаспакованДокументыНеОбработаны;
			}
			return Guid.Empty;
		}
	}
}